provide `FirstStartup` service for post-install tasks, starting with Normandy
Categories
(Toolkit :: General, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: rhelmer, Assigned: rhelmer)
References
(Blocks 2 open bugs)
Details
Attachments
(5 files, 2 obsolete files)
Currently there isn't a great way to run post-install tasks after Stub Installer has finished its work, but before the first Firefox window is shown. An example of the sorts of tasks we'd like to allow are:
- performance tuning
- fetching critical data (hotfixes, experiments) and acting on it
After discussion with folks cc'd on this bug, we came up with the idea of having the Windows Stub Installer[1] call Firefox with a specific command-line flag (firefox --first-startup
) which will run some work synchronously and block Firefox from showing the first window until either the work is done, or a timeout is reached.
The stub installer shows a progress bar until the first Firefox window appears, which should give a user experience of the first Firefox startup feeling very fast, and not require deferring work until after startup which makes the UI less responsive.
1 - other platforms are out-of-scope for now, because macOS uses a plain DMG and no installer, and Linux distributions tend to control the install process. This is something we can make available to both platforms without additional work, though.
Assignee | ||
Comment 1•6 years ago
|
||
FirstStartup provides an optional mechanism to run synchronous services
before the UI appears. This is intended to be called as a post-install
action from an installer, such as the Windows Stub Installer, to allow
for downloading critical data and performance tuning before the first
run of a new Firefox install.
Assignee | ||
Comment 2•6 years ago
|
||
Depends on D43364
Assignee | ||
Comment 3•6 years ago
|
||
Depends on D43365
Assignee | ||
Comment 4•6 years ago
|
||
Depends on D43366
Updated•6 years ago
|
Assignee | ||
Comment 5•6 years ago
|
||
Assignee | ||
Comment 6•6 years ago
|
||
Small modification, collect telemetry for actual FirstRun
status codes vs. just timeout bool.
Assignee | ||
Updated•6 years ago
|
Updated•6 years ago
|
Comment 7•6 years ago
|
||
Assignee | ||
Comment 8•6 years ago
|
||
Depends on D43366
Comment 10•6 years ago
|
||
Backed out 4 changesets (bug 1576507) for causing xpcshell failures on test_firstStartup.js
Backout revision https://hg.mozilla.org/integration/autoland/rev/2da8982d97aa34a90b0bd871dc32ac8aa65e40a7
Log failures https://treeherder.mozilla.org/logviewer.html#?job_id=264358493&repo=autoland
https://treeherder.mozilla.org/logviewer.html#?job_id=264360361&repo=autoland
Robert can you please take a look?
Assignee | ||
Comment 11•6 years ago
|
||
(In reply to Arthur Iakab [arthur_iakab] from comment #10)
Backed out 4 changesets (bug 1576507) for causing xpcshell failures on test_firstStartup.js
Backout revision https://hg.mozilla.org/integration/autoland/rev/2da8982d97aa34a90b0bd871dc32ac8aa65e40a7
Log failures https://treeherder.mozilla.org/logviewer.html#?job_id=264358493&repo=autoland
https://treeherder.mozilla.org/logviewer.html#?job_id=264360361&repo=autolandRobert can you please take a look?
The way this test and feature are written currently, FirstStartup
will time out if Normandy is not enabled (such as on Android).
Since we intend to extend FirstStartup
to support other tasks, I think the least brittle way to deal with this is to have an UNSUPPORTED
state, which will be used if Normandy is not enabled.
As we add other tasks besides Normandy to FirstStartup
we can change this, but for now it'll also give us a useful signal if this --first-startup
accidentally gets used somewhere Normandy isn't supported.
Assignee | ||
Comment 12•6 years ago
•
|
||
Try run before re-landing:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=af6e8acddb7ec425a976cdd5d5cadab328f19f4e
Comment 13•6 years ago
|
||
Comment 14•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/c547b758be35
https://hg.mozilla.org/mozilla-central/rev/c0422b67e5d0
https://hg.mozilla.org/mozilla-central/rev/797a54d2af1d
https://hg.mozilla.org/mozilla-central/rev/7afcfc71024f
Comment 15•6 years ago
|
||
bugherder uplift |
Description
•